---
title: 왜 Bloc인가?
description: 어떤 요소가 Bloc을 견고한 상태 관리 솔루션으로 만드는 지에 대한 개요입니다.
sidebar:
  order: 1
---

Bloc을 사용하면 Business Logic에서 Presentation을 쉽게 분리하여 코드를 _빠르게_, _테스트하기 쉽게_, *재사용 가능*하게 만들 수 있습니다.

프로덕션 품질의 애플리케이션을 구축할 때 상태 관리가 중요해집니다.

개발자로서 우리는 다음과 같은 요구사항을 가질 수 있습니다:

- 언제든지 애플리케이션의 상태를 알 수 있어야 합니다.
- 모든 케이스를 쉽게 테스트하여 앱이 적절하게 응답하는지 확인해야 합니다.
- 데이터 기반 결정을 내릴 수 있도록 애플리케이션의 모든 단일 사용자 상호 작용을 기록해야 합니다.
- 애플리케이션 내부와 다른 애플리케이션 전반에서 최대한 효율적으로 작업하고, 구성 요소를 재사용해야 합니다.
- 많은 개발자가 동일한 패턴과 규칙에 따라 단일 코드 기반 내에서 원활하게 작업할 수 있어야 합니다.
- 빠르고 반응성이 뛰어난 앱을 개발해야 합니다.

Bloc은 이러한 모든 요구 사항과 그 이상을 충족하도록 설계되었습니다.

상태 관리 솔루션은 다양하며 어떤 솔루션을 사용할지 결정하는 것은 어려운 작업일 수 있습니다. 완벽한 상태 관리 솔루션은 없습니다! 하지만 중요한 것은 팀과 프로젝트에 가장 적합한 것을 선택하는 것입니다.

Bloc은 다음 세 가지 핵심 가치를 염두에 두고 설계되었습니다:

- **간단함:** 이해하기 쉽고 다양한 스킬 수준을 가진 개발자가 사용할 수 있습니다.
- **강력함:** 더 작은 구성 요소로 구성하여 놀랍고 복잡한 애플리케이션을 만드는 데 도움을 줍니다.
- **테스트 가능:** 애플리케이션의 모든 측면을 쉽게 테스트할 수 있으므로 자신있게 테스트를 반복할 수 있습니다.

전반적으로, Bloc은 상태 변경이 발생할 수 있는 시기를 규제하고 애플리케이션 전체에 걸쳐 단일한 상태를 변경하는 방법을 시행함으로써 상태 변경을 예측 가능하게 만들려고 시도합니다.
